/** 
 * 在登陆后，访问 登陆/注册页的时候，自动进行页面跳转
 */
import { useEffect } from "react"
import { useLocation, useNavigate } from "react-router-dom"
import useGetUserInfo from "./useGetUserinfo"
import { isLoginOrRegister , MANAGE_INDEX_PATHNAME , isNoneedLog , LOGIN_PATHNAME } from "../router"

function useNavPage(waitingUserData : Boolean){
    const nav = useNavigate()
    const {pathname} = useLocation() // 获取当前页面路由
    console.log(pathname , '--------12')
    const {userName} = useGetUserInfo() // 从redux中获取用户信息

    // 当用户信息改了，或者路由改了判断是否是登陆组册页
    useEffect(() => {
        // true为加载中，不做处理
        if(waitingUserData) return

        // 已经登陆了，并且是登陆组册页
        if(userName){
            if(isLoginOrRegister(pathname)){
                nav(MANAGE_INDEX_PATHNAME)
            }
            return
        }
        
        // 未登陆
        if(isNoneedLog(pathname)){
            // 不需要用户信息
            return
        }else{
            // 需要用户信息
            nav(LOGIN_PATHNAME)
        }

    } ,[userName , pathname ,waitingUserData])

}

export default useNavPage